Ein Zustand ist ein Wert, den ein Block zwischen Zeitschritten speichert.
f-Block – kein Zustand: berechnet direkt aus dem Eingang.
Integrator – Zustand :
Der Solver treibt die for-Schleife an und übernimmt die Zeitinkrementierung .
Einstellbar: Euler (festes ), ode45 (adaptives ), …
Euler-Schritt mit :
Eine Akkumulationszeile → ein Integrator:
Symbol in Simulink: (Laplace-Notation: Integration im Zeitbereich = Division durch )
Scope – zeigt Signale als Funktion der Zeit an.
Mux – fasst mehrere Signale zu einem Vektorsignal zusammen:
Scope mit einem Mux-Eingang → mehrere Kurven in einem Fenster.
Alternativ: Scope mit mehreren Eingängen direkt konfigurieren (Number of Input Ports).
Beliebige Berechnung als Matlab-Funktion direkt im Modell:
function y_dot = f(y)
% Eingang: Zustandsgröße y
% Ausgang: Ableitung y_dot
y_dot = ...;
end
Kompakter als Elementarblöcke — besonders bei mehreren Zustandsgrößen.
Implementieren Sie das Batterie-Modell in Simulink. , , , , .
function T_dot = f(T)Extraaufgabe: Ersetzen Sie durch ein gemessenes Lastprofil : From Workspace-Block hinzufügen, als zweiten Eingang in f(T, P) führen.
lässt sich direkt als Signalflussplan aus Elementarblöcken aufbauen:
| Block | Funktion |
|---|---|
| Constant | liefert einen festen Wert (, , , ) |
| Gain | multipliziert ein Signal mit einer Konstanten |
| Sum | addiert oder subtrahiert Signale |
Der Matlab Function-Block ist kompakter — aber Elementarblöcke machen die Rechenoperationen explizit sichtbar und sind direkt für die Codegenerierung geeignet.
Ein Subsystem fasst Blöcke zu einem wiederverwendbaren Block zusammen.
Das Batterie-Modell aus der Aufgabe wird zum Subsystem „Zelle":
Zwei thermisch gekoppelte Zellen (Einheit 9) → zwei Subsysteme verbinden.
Komplexe Systeme entstehen durch Komposition — jede Ebene zeigt nur den notwendigen Abstraktionsgrad.
Industrieapplikation: Ein Simulink-Modell kann direkt in C-Code übersetzt werden (Codegenerierung) — dieselbe Logik, die im Modell läuft, läuft dann auf eingebetteter Hardware.
Parameter aus dem Workspace: Variablen wie , im Matlab-Workspace definieren — Simulink-Blöcke lesen sie automatisch. Kein Hardcoding in der Matlab Function.
From Workspace: gemessene Daten (z.B. Lastprofil ) direkt ins Modell laden.
To Workspace: Simulationsergebnisse als Matlab-Variable speichern und weiterverarbeiten.
→ Simulink modelliert, Matlab analysiert.
% Zeitpunkte und Leistungswerte definieren
t = [0, 600, 1200, 1800, 2400, 3600]; % s
P = [50, 200, 800, 400, 100, 0]; % W
% Als timeseries verpacken
lastprofil = timeseries(P, t);
Im From Workspace-Block: Feldname lastprofil eintragen.
Simulink interpoliert zwischen den Stützstellen — der Block gibt bei jedem Zeitschritt den passenden -Wert aus.